home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Sample Code / System 7.0 Samples / AEObject-Edition1.0.2 Sample / prototypes.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-18  |  18.9 KB  |  402 lines  |  [TEXT/MPS ]

  1. /*------------------------------------------------------------------------------
  2.  *
  3.  *  Apple Developer Technical Support
  4.  *
  5.  *  Edition publishing routines
  6.  *
  7.  *  Program:    AEObject-Edition Sample
  8.  *  File:       Prototypes.h - C Source
  9.  *
  10.  *  by:         C.K. Haun <TR>
  11.  *
  12.  *  Copyright ©  1990-1992 Apple Computer, Inc.
  13.  *  All rights reserved.
  14.  *
  15.  *------------------------------------------------------------------------------
  16.  * This file contains all the prototypes for this application.
  17.  *----------------------------------------------------------------------------*/
  18.  
  19. #ifndef __GLOBALS__
  20. extern Boolean gHasColor;
  21. extern short gCurrentColor;
  22. extern RGBColor gColorArray[];
  23. extern AEInteractAllowed gInteractLevel;
  24.  
  25. extern Handle gScrapData;                                          /* picture data currently on clipboard */
  26. /* individual menu handles */
  27. extern MenuHandle gAppleMenuHandle, gFileMenuHandle, gEditMenuHandle, gToolMenuHandle,
  28. gAppleEventMenuHandle,gEditionMenuHandle,gWindowMenuHandle,gColorMenuHandle;
  29. extern short gHelpItem;         /* our added help menu item */
  30. extern Boolean gStop;                                              /* Stop flag for this app */
  31. extern unsigned long gMasterWindowID;                      /* for section tracking */
  32. extern Rect gShowPubRect;                                          /* rectangle of the currently selected publisher */
  33. extern Rect gShowSubRect;                                          /* rectangle of the currently selected subscriber */
  34. extern SectionHandle gShowingSecHandle;                      /* currently selected section */
  35. extern SectionHandle gClipSection;                           /* if the clipboard contains a section */
  36. extern PicHandle gClipPict;                                        /* for the section picture */
  37. extern Boolean gShowPub;                                   /* telling if a publisher or subscriber */
  38. extern Boolean gShowSub;                                   /* border should be displayed */
  39. extern Boolean gShowingAll;                                /* show all borders toggle */
  40. extern Boolean gInBackground;                              /* Where Are We? */
  41. extern Boolean gExpanded;                                  /* flag for expanded dialogs, for this sample */
  42. extern Boolean gResizeSub;                                 /* resize flag for this sample */
  43. extern short gClipHasContents;                        /* indicates the contents of the clipboard (PICT, TEXT, section ) */
  44. extern EventRecord gERecord;                                       /* guess */
  45. extern ProcessSerialNumber gOurSN;                                 /* serial number of this process (us, our application) */
  46. extern Boolean gHasAppleEvents;                                    /* not really necessary, since we fail if these */
  47. extern Boolean gHasEditionManager;                                 /* aren't available, but it's only two bytes.... */
  48.  
  49.  
  50. extern short actsToIDs[] ;
  51.  
  52.  
  53.  
  54. extern SectionHandle gLastSection;                                  /* for double click testing */
  55. extern unsigned long gLastSecClickTick;
  56. extern RgnHandle mousergn;                                     /* for WaitNextEvent */
  57. extern long gMySleep;
  58. /* globals */
  59. extern SectionHandle gSecHandle;
  60. extern EditionRefNum gEdRefNum;
  61. extern EditionContainerSpec gEdSpec;
  62. extern unsigned long gSectionID;
  63. extern prefStruct gPreferences;
  64. extern short gLocalInteraction;
  65. extern short gAESendInteraction;
  66. extern AEDesc gTargetAddress;
  67. extern AEDesc gNullDesc;    /* seed nul deeescriptor */
  68. extern Str63 targetName;
  69. extern Boolean gAESwitchLayer;
  70. extern short gAddressMode;
  71. extern short gReplyMode;
  72. extern short gSendInteractArray[];
  73. extern AEDesc * gCurrentReply;
  74. extern short gReplyLevels[];
  75. extern WindowObjectDefHandle gWindObjSpecHandle;
  76. extern TextObjectDefHandle gTextObjSpecHandle;
  77. extern ShapeObjectDefHandle gShapeObjSpecHandle;
  78. extern AEIdleUPP gCommonIdleFunctionUPP;
  79.  
  80.  
  81. #endif
  82.  
  83. /* prototypes from main */
  84. #ifdef __SAMPMAIN__
  85. #define sayExtern                
  86. #else
  87. #define sayExtern extern
  88. #endif
  89. sayExtern void DrawIt(WindowPtr theWindow);
  90. sayExtern void DeBorderSelection(void);
  91. sayExtern void NilProc(void);
  92.  
  93. #undef sayExtern
  94. #ifdef __AEM__
  95. #define sayExtern                
  96. #else
  97. #define sayExtern extern
  98. #endif
  99.  
  100. sayExtern void DoHighLevel(EventRecord AERecord);
  101. sayExtern pascal OSErr AEOpenHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  102. sayExtern pascal OSErr AEOpenDocHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  103. sayExtern pascal OSErr AEPrintHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  104. sayExtern pascal OSErr AEQuitHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  105. sayExtern pascal OSErr AEAnswerHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  106. sayExtern Boolean MissedAnyParameters(AppleEvent *message);
  107. sayExtern OSErr processOpenPrint(AppleEvent *messagein, Boolean printIt);
  108. sayExtern OSErr GetSectionHandleFromEvent(AppleEvent *AEin, SectionHandle *theSection);
  109. sayExtern pascal Boolean CommonIdleFunction(EventRecord *whatEvent,long *sleeping,RgnHandle *mouseRgn);
  110. sayExtern pascal OSErr CoerceBooleanToChar(DescType origData, Ptr inPtr, Size theSize, DescType toType, long refCon, AEDesc *result);
  111. sayExtern pascal OSErr CoerceQDRectToChar(DescType origData, Ptr inPtr, Size theSize, DescType toType, long refCon, AEDesc *result);
  112. sayExtern pascal OSErr CoerceCharToPString(DescType origData, Ptr inPtr, Size theSize, DescType toType, long refCon, AEDesc *result);
  113. sayExtern pascal OSErr CoercePStringToChar(DescType origData, Ptr inPtr, Size theSize, DescType toType, long refCon, AEDesc *result);
  114. sayExtern pascal OSErr CoerceAliasToTargetID(DescType origData,Ptr outPut,Size theSize,DescType toType,long refCon,AEDesc *returnID);
  115. sayExtern void SetInteractionLevels(void);
  116. sayExtern void SetTargetAddress(void);
  117. sayExtern void SetReplyMode(void);
  118. sayExtern void SendGetData(short which);
  119. sayExtern void SendSetData(short which);
  120.  
  121. #undef sayExtern
  122. #ifdef __FILES__
  123. #define sayExtern                
  124. #else
  125. #define sayExtern extern
  126. #endif
  127.  
  128. sayExtern void ReadDocData(windowCHandle newWinControl, short readRefNum);
  129. sayExtern WindowPtr OpenFile(FSSpec *inSpec);
  130. sayExtern void SaveMe(windowCHandle theWind, WindowPtr theWindPtr);
  131. sayExtern Boolean AddToPrefsFile(Handle dataToAdd,OSType thisRes,short resID);
  132. sayExtern short OpenPrefsFile(void);
  133. sayExtern void LoadPrefs(void);
  134. sayExtern void SavePrefs(void);
  135. sayExtern void ClosePrefsFile(void);
  136. sayExtern void SaveAES(windowCHandle theWind, WindowPtr theWindPtr);
  137.  
  138. #undef sayExtern
  139. #ifdef __SAMPMENU__
  140. #define sayExtern                
  141. #else
  142. #define sayExtern extern
  143. #endif
  144.  
  145. sayExtern void SetUndo(short undoNow, Boolean fromRecord);
  146. sayExtern Boolean DoSelected(long val);
  147. sayExtern void SetCurAction(short actionIn);
  148. sayExtern void DoDaCall(MenuHandle themenu, long theit);
  149. sayExtern void SwitchChecks(short itemNow);
  150. sayExtern void SetMyCursor(short myCurs);
  151. sayExtern void SetWMenus(Boolean how);
  152. sayExtern OSErr PrepQuit(void);
  153. sayExtern void AdjustMenus(windowCHandle tempCH,WindowPtr currentWindow);
  154. sayExtern pascal void BorderDefault(WindowPtr dwind, short dinum);
  155. sayExtern pascal void ArrowArea(WindowPtr dwind, short dinum);
  156. sayExtern pascal Boolean aboutFilter(DialogPtr theDialog, EventRecord *theEvent, short *itemHit);
  157. sayExtern void DoPreferences(void);
  158. sayExtern void DoEditionAdditional(short which);
  159.  
  160. #undef sayExtern
  161. #ifdef __PRINTSTUFF__
  162. #define sayExtern                
  163. #else
  164. #define sayExtern extern
  165. #endif
  166.  
  167. sayExtern void PrintIt(WindowPtr theWind,Boolean bye);
  168.  
  169. #undef sayExtern
  170. #ifdef __PUBLISH__
  171. #define sayExtern                
  172. #else
  173. #define sayExtern extern
  174. #endif
  175.  
  176. sayExtern OSErr CreatePublisher(OSType typeToMake,Boolean fromEvent,FSSpecPtr theSpec);
  177. sayExtern PicHandle MyMakePicture(Rect *thisRect);
  178. sayExtern OSErr MyWriteSection(SectionHandle secHandle, Handle theData, OSType theType,FSSpecPtr inSpec);
  179. sayExtern OSErr MyUpdateEdition(SectionHandle theSection);
  180. sayExtern void StorePublisher(windowCHandle shortName, SectionHandle storeSection, Rect *inRect, mySectionDataHandle textIn, OSType typeIn);
  181. sayExtern WindowPtr FindSection(SectionHandle inSection);
  182. sayExtern pascal OSErr AEWriteSectionHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  183. sayExtern pascal OSErr AECreatePubHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  184. sayExtern pascal short ExpOptHook(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr);
  185. sayExtern pascal Boolean ExpOptFilter(DialogPtr theDialog, EventRecord *theEvent, short itemOffset, short *itemHit, Ptr yourDataPtr);
  186. sayExtern mySectionDataHandle GetTextSection(windowCHandle shortName, SectionType what);
  187. sayExtern mySectionDataHandle TextSectionFromSecHandle(SectionHandle theSection);
  188. sayExtern pascal OSErr AECancelSectionHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  189. sayExtern pascal OSErr AEScrollSectionHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  190. sayExtern Boolean SearchPubs(Point thePoint);
  191.  
  192. #undef sayExtern
  193. #ifdef __SUBSCRIBE__
  194. #define sayExtern                
  195. #else
  196. #define sayExtern extern
  197. #endif
  198.  
  199. sayExtern OSErr MyReadSection(SectionHandle theSection);
  200. sayExtern void MyCancelSection(SectionHandle inSection, WindowPtr theWindow);
  201. sayExtern OSErr MyReadEditionData(Ptr readinPtr, DescType typeToGet, EditionRefNum readRef, Size *howMuch);
  202. sayExtern void HandleSectionSave(windowCHandle theWind, Boolean writeEm, Boolean dereg, FSSpec *theSpec);
  203. sayExtern void StoreSubscriber(windowCHandle shortName, SectionHandle secHandle, Handle inRect, Handle pictIn);
  204. sayExtern pascal short SubExpOptHook(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr);
  205. sayExtern pascal Boolean SubExpOptFilter(DialogPtr theDialog, EventRecord *theEvent, short itemOffset, short *itemHit, Ptr yourDataPtr);
  206. sayExtern void PasteSubscription(void);
  207. sayExtern void CutSubscription(void);
  208. sayExtern void CopySubscription(void);
  209. sayExtern void KillClipSub(void);
  210. sayExtern pascal OSErr AEReadSectionHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  211. sayExtern OSErr ReadClipSection(Size readIn, EditionRefNum sRefNum);
  212. sayExtern void DoOptions(SectionHandle inSection);
  213. sayExtern void DoSubscribe(void);
  214. sayExtern void DeleteSubscriber(void);
  215. sayExtern OSErr MyGoToPublisher(SectionHandle theSection);
  216. sayExtern Boolean SearchSubs(Point thePoint);
  217.  
  218. #undef sayExtern
  219. #ifdef __TEXTSECTIONS__
  220. #define sayExtern                
  221. #else
  222. #define sayExtern extern
  223. #endif
  224.  
  225. sayExtern Boolean HasTESelection(windowCHandle inWind);
  226. sayExtern Boolean PasteText(void);
  227. sayExtern Boolean CutText(void);
  228. sayExtern Boolean CopyText(void);
  229. sayExtern Boolean ClearText(void);
  230. sayExtern void BorderTextSection(mySectionDataHandle theText);
  231. sayExtern void KillTextBorders(void);
  232. sayExtern void ShowAllTextBorders(void);
  233. sayExtern Boolean InTextBox(windowCHandle inName, Rect *where);
  234. sayExtern void CheckTextSections(windowCHandle inWindow, short Action);
  235. sayExtern Boolean SkipOverSubscriber(windowCHandle inWindow, unsigned short theKey);
  236. sayExtern void RePackText(mySectionDataHandle currentSection, TEHandle theTEHandle);
  237. sayExtern void CheckSectionHit();
  238. sayExtern void ExcludeSubscriber(windowCHandle tempCH);
  239.  
  240. #undef sayExtern
  241. #ifdef __MYWINDOWS__
  242. #define sayExtern                
  243. #else
  244. #define sayExtern extern
  245. #endif
  246.  
  247. sayExtern void DrawFull(windowCHandle theWind, WindowPtr theWindPtr);
  248. sayExtern void DoDocumentClick(WindowPtr twindow);
  249. sayExtern void UndoLast(void);
  250. sayExtern void ChangePlane(WindowPtr twindow);
  251. sayExtern WindowPtr AddNewWindow(Boolean showIt);
  252. sayExtern void CloseMyWindow(WindowPtr theClose);
  253. sayExtern void AddLine(windowCHandle nowHandle, myLine *inline);
  254. sayExtern void AddRect(windowCHandle nowHandle, Rect *inrect);
  255. sayExtern void AddTextBox(windowCHandle nowHandle, Rect *inrect);
  256. sayExtern void AddOval(windowCHandle nowHandle, Rect *inoval);
  257. sayExtern void AddSelection(windowCHandle nowHandle, Rect *inrect);
  258. sayExtern ShapesHandle NewShape(windowCHandle theWindow);
  259. sayExtern OSErr SetShapeProperty(PropertyTHdl propertyBack, AEDesc *theData);
  260. sayExtern void CutGraphic(windowCHandle tempWC);
  261. sayExtern void CopyGraphic(windowCHandle tempWC);
  262. sayExtern void ClearGraphic(windowCHandle tempWC);
  263. sayExtern Boolean IsAppWindow(WindowPtr window);
  264. sayExtern Boolean IsDAWindow(WindowPtr window);
  265. sayExtern WindowPtr AddNewWindow(Boolean showIt);
  266. sayExtern void CloseMyWindow(WindowPtr theClose);
  267. sayExtern void WindowToFront(short which,Str63 name);
  268. sayExtern OSErr SetWindowProperty(PropertyTHdl propertyBack,AEDesc *theData);
  269. sayExtern void AddToWindowMenu(WindowPtr theWindow,const Str255 oldName);
  270. sayExtern void DeleteFromWindowMenu(WindowPtr theWindow);
  271. sayExtern Boolean CheckExisting(FSSpecPtr newSpec);
  272. sayExtern void KillSelection(windowCHandle tempWC);
  273. sayExtern void SizeControls(WindowPtr inWind);
  274. sayExtern WindowPtr FindClipWindow(void);
  275. sayExtern void DrawClip(windowCHandle theWind,WindowPtr windowIn);
  276. sayExtern void ClipClick(WindowPtr twindow);
  277. sayExtern void CloseClip(WindowPtr inWind);
  278. sayExtern void UpdateScrap(Boolean refreshIt);
  279. sayExtern void SpitClip(void);
  280. sayExtern void SizeClip(WindowPtr windowIn);
  281. sayExtern void ToggleAEWindow(void);
  282. sayExtern WindowPtr FindAEWindow(void);
  283. sayExtern void DrawAES(windowCHandle theWind,WindowPtr windowIn);
  284. sayExtern void ClickAES(WindowPtr twindow);
  285. sayExtern void CloseAES(WindowPtr inWind);
  286. sayExtern void SizeAES(WindowPtr windowIn);
  287. sayExtern void AESKey(char theKey,windowCHandle tempWC);
  288. sayExtern void AddToAEWindow(Ptr text,long count);
  289. sayExtern void AddAENum(long theNum);
  290. sayExtern void AddAEText(ConstStr255Param theText);
  291.  
  292. #undef sayExtern
  293. #ifdef __AEOBJ__
  294. #define sayExtern                
  295. #else
  296. #define sayExtern extern
  297. #endif
  298.  
  299. sayExtern OSErr InstallObjectHandlers(void);
  300. sayExtern pascal OSErr AEGetDataHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  301. sayExtern pascal OSErr AESetDataHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
  302. sayExtern pascal OSErr WindFromNull( DescType desiredClass,
  303.         const AEDesc *container, DescType containerClass, DescType form,
  304.         const AEDesc *selectionData, AEDesc *value, long LongInt );
  305. sayExtern pascal OSErr PropertyFromWindow( DescType desiredClass,
  306.         const AEDesc *container, DescType containerClass, DescType form,
  307.         const AEDesc *selectionData, AEDesc *value, long LongInt );
  308. sayExtern pascal OSErr PropertyFromText(DescType desiredClass, const AEDesc *container, DescType containerClass, DescType form,
  309.                                 const AEDesc *selectionData, AEDesc *value, long LongInt);
  310. pascal OSErr PropertyFromShape(DescType desiredClass, const AEDesc *container, DescType containerClass, DescType form,
  311.                                 const AEDesc *selectionData, AEDesc *value, long LongInt);
  312.  
  313. sayExtern pascal OSErr DrawFromWindow(DescType desiredClass, const AEDesc *container, DescType containerClass, DescType form,
  314.                              const AEDesc *selectionData, AEDesc *value, long LongInt);
  315. sayExtern pascal OSErr MyCompareProc( DescType oper, const AEDesc *obj1,
  316.             const AEDesc *obj2, Boolean *result );
  317. sayExtern pascal OSErr MyCountProc( DescType desiredType, DescType containerClass,
  318.             const AEDesc *container, long *result );
  319. sayExtern pascal OSErr MyDisposeTokenProc( AEDesc *unneededToken );
  320. sayExtern pascal OSErr MyGetMarkTokenProc( const AEDesc *dContainerToken, DescType containerClass,
  321.             AEDesc *result );
  322. sayExtern pascal OSErr MyMarkProc( const AEDesc *dToken, const AEDesc *markToken, long index );
  323. sayExtern pascal OSErr MyAdjustMarksProc( long newStart, long newStop, const AEDesc *markToken );
  324. sayExtern pascal OSErr MyGetErrDescProc( DescPtr *appDescPtr );
  325. sayExtern OSErr BuildGetDataEvent(AppleEvent *thisEvent,short which);        
  326. sayExtern OSErr BuildSetDataEvent(AppleEvent *thisEvent,short which);
  327. sayExtern pascal OSErr TextFromWindow( DescType desiredClass,
  328.         const AEDesc *container, DescType containerClass, DescType form,
  329.         const AEDesc *selectionData, AEDesc *value, long LongInt );
  330. sayExtern pascal OSErr WordFromText( DescType desiredClass,
  331.         const AEDesc *container, DescType containerClass, DescType form,
  332.         const AEDesc *selectionData, AEDesc *value, long LongInt );
  333. sayExtern pascal OSErr ShapeFromDraw( DescType desiredClass,
  334.         const AEDesc *container, DescType containerClass, DescType form,
  335.         const AEDesc *selectionData, AEDesc *value, long LongInt );
  336. sayExtern OSErr BuildFullObject(AEDesc *object,short which);
  337. sayExtern OSErr BuildWindowObject(AEDesc *returnedObject);
  338. sayExtern void CountWords(const AEDesc *container,long * theCount,long stopAt,long * position);
  339. sayExtern OSErr CreateShapeObject(AEDesc *theContainer);
  340. sayExtern void CountShapes(const AEDesc *container,long * theCount,long stopAt,long * position,DescType *whichType);
  341. sayExtern OSErr AddShapeProperty(AEDesc *theObject,Boolean which);
  342.  
  343. #undef sayExtern
  344. #ifdef __AEMU__
  345. #define sayExtern                
  346. #else
  347. #define sayExtern extern
  348. #endif
  349.  
  350. sayExtern OSErr ShortFromDesc(short *theData,const AppleEvent *theDesc);        
  351. sayExtern void PStringFromTextDesc(Str255 theString,const AEDesc *theDesc);
  352. sayExtern OSErr BrowseForTarget(AEDesc * theAddress);
  353. sayExtern OSErr MakeAddress(AEDesc *theAddress);
  354. sayExtern OSErr DoSend(AppleEvent * theEvent,AEDesc *repy);
  355. sayExtern void AEErrorText(OSErr theError);
  356. sayExtern void DoObjectDefinition(short which);
  357.  
  358. sayExtern DialogPtr SetUpObjectDialog(short which);        
  359.  
  360. sayExtern void DisplayReturnedData(AEDesc *reply);
  361. sayExtern void AddToReply(ConstStr255Param theWords,long theError);
  362. sayExtern OSErr MakeTypeRect(CShapeObjHandle theShape,AEDesc *theValue);
  363. sayExtern OSErr    MakeGraphicLine(CShapeObjHandle theShape,AEDesc *theValue);
  364. sayExtern OSErr MakeSinglePixelMap(AEDesc *thePlace,RGBColor * theColor);
  365.  
  366. #undef sayExtern
  367. #ifdef __GUTIL__
  368. #define sayExtern                
  369. #else
  370. #define sayExtern extern
  371. #endif
  372.  
  373. sayExtern pascal Boolean standardDialogFilter(DialogPtr theDialog, EventRecord *theEvent, short *itemHit);
  374. sayExtern pascal Boolean standardAlertFilter(DialogPtr theDialog, EventRecord *theEvent, short *itemHit);
  375. sayExtern ControlHandle SnatchHandle(DialogPtr thebox, short theGetItem);
  376. sayExtern void MakeRect(Point *aPoint, Point *bPoint, Rect *putRect);
  377. sayExtern void AppendString(Str255 target, Str255 appendIt);
  378. sayExtern Boolean PureCursor(char theKey);
  379. sayExtern OSErr MySetHandleSize(Handle theHandle, Size theSize);
  380. sayExtern void ShowMe(Str255 in, OSErr aevtErr,short lineNo);
  381. sayExtern void DoDiskEvents(long dinfo);
  382. sayExtern DialogPtr CommonDStart(short DNumber, short set1, short set2);
  383. sayExtern void PullRect(windowCHandle theWind, Rect *startRect, Boolean isOval, Boolean useRect,Boolean onlyCorner);
  384. sayExtern void DoAnts(Rect *theRect);
  385. sayExtern void AdjustCursor(Point mouse, RgnHandle region);
  386. sayExtern Boolean CompareFSSpecs(FSSpecPtr spec1,FSSpecPtr spec2);
  387. sayExtern void SpinCursor(void);
  388. sayExtern Boolean IsMyWindow(WindowPtr theWind);
  389. sayExtern Boolean IsModalFront(void);
  390. #undef sayExtern
  391. #ifdef __INIT__
  392. #define sayExtern                
  393. #else
  394. #define sayExtern extern
  395. #endif
  396.  
  397. sayExtern void StartStuff(void);
  398. sayExtern void CreateClipBoard(void);
  399. sayExtern void CreateAEStatus(void);
  400. sayExtern void StartMenus();
  401. sayExtern void InitAEStuff(void);
  402.